Defines a multivariate normal (Gaussian) distribution.
Gets the lower triangular form of the Cholesky factorization of the covariance matrix of the distribution.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
The Cholesky factored matrix.
Gets the covariance matrix of the distribution.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
The covariance matrix.
Gets the mean values of the distribution.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
The mean values.
Initializes the multivariate normal distribution by defining the mean values and covariance matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(inout) | :: | this |
The multivariate_normal_distribution object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | mu |
An N-element array containing the mean values. |
|
| real(kind=real64), | intent(in), | dimension(:,:) | :: | sigma |
The N-by-N covariance matrix. The PDF exists only if this matrix is positive-definite; therefore, the positive-definite constraint is checked within this routine and enforced. An error is thrown if the supplied matrix is not positive-definite. |
Computes the multivariate-normal log density without an explicit inverse. A triangular solve whitens the residual; normalization uses a log determinant.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(in) | :: | this |
Initialized distribution with a symmetric positive-definite covariance. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
Evaluation point, the same length as the stored mean vector. |
Log density; uninitialized objects or nonfinite points give NaN. An unrepresentably large squared residual gives negative infinity.
Evaluates the PDF for the multivariate normal distribution.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
The values at which to evaluate the function. |
The value of the function.
Updates the mean value array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(multivariate_normal_distribution), | intent(inout) | :: | this |
The multivariate_normal_distribution object. |
||
| real(kind=real64), | intent(in), | dimension(:) | :: | x |
The N-element array of new mean values. |